package cn.itcast.service;


import cn.itcast.entity.PageResult;
import cn.itcast.entity.QueryPageBean;
import cn.itcast.pojo.Menu;

import java.util.List;
import java.util.Set;

/**
 * 菜单管理
 */
public interface MenuService {


    /**
     * 分页查询
     * @return
     */
    PageResult queryMenu(QueryPageBean queryPageBean);

    /**
     * 新增菜单表和菜单表和权限表的中间表
     * @param menu
     * @return
     */
    Boolean addMenuAndOrder(Integer[] permissionIds, Menu menu);


    /**
     * 回显数据
     * @param mid
     * @return
     */
    Menu queryMenuById(Integer mid);

    /**
     * 修改
     * @param permissionIds
     * @param menu
     * @return
     */
    Boolean updateMenu(Integer[] permissionIds, Menu menu);

    /**
     * 删除
     * @param mid
     * @return
     */
    Boolean deleteMenuById(Integer mid);

    /**
     * 根据username查询用户对应的菜单
     * @param username
     * @return
     */
    Set<Menu> queryMenuListByUserName(String username);
}
